itemis CREATE 'C/C++ Domain' is a domain tailored to work perfectly together with your C and C++ projects.
Choose this domain if you want to use the power of statecharts in your existing C/C++ project and want to use custom types and call existing functions from your statechart.
Only the C/C++ Domain allows you to use the Deep C/C++ Integration of itemis CREATE.
The 'C/C++ Domain' requires a 'Professional License'.
The Deep C/C++ Integration - usable in the C/C++ Domain - allows you to import existing C and C++ headers into the statechart.
Please refer to the full documentation available online and in itemis CREATE, but the most important advantages are:
- You can use types from headers. This includes typedefs, structs, enums, unions, and for C++ even classes.
- Variables that are declared in a header file are visible to your statechart. This includes arrays.
- Functions from header files can be called directly from the statechart, there is absolutely no need for any boilerplate code -
not only directly declared functions, also member functions of classes and even function pointers in structs are callable.
- The full power of pointers at your hands - you can declare variables of pointer types, dynamically get pointers of variables, dereference pointers,
have arrays of pointers, pointers to arrays - whatever you need. Pointer type members in structs and classes are of course parsed correctly and fully usable.
- #define declarations of header files are usable in your statechart.
C/C++ Domain Type System
The 'C/C++ Domain' integrated type system is engineered to work with C/C++ code and uses C/C++ types.
- You can use types from stdint.h, like int8_t or uint32_t
- float, double
- bool
- string
- void
- Plus every type found in imported headers.
These types will be used directly in the generated code.